// 我们在安装局部模块的时候会在当前文件夹产生两个文件 :
// - node_modules/ 文件夹 : 里面装的所有的局部模块代码还有依赖; 
// - package.json  项目说明书 : 用 json格式描述当前项目的构成; 


// 当我们下载完本地模块的时候， 我们可以在当前文件夹之中随意引入并使用模块; 
// - 引入模块方式和内置模块引入方式完全一样; 

const axios = require("axios");
const fs = require("fs");
const cheerio  = require("cheerio");

async function loadBaidu() {
      let options = {
            url: "https://www.baidu.com",
            headers: {
                  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
            }   
      }
      let response = await axios(options);
      console.log(response.data);

      fs.writeFile("./baidu.html" , response.data , err => {
            if(err) throw err;
            console.log( "百度转存成功");
      })
}
// loadBaidu();

// 爬虫技术核心在于脏数据处理; 
// 我们需要脏数据处理模块 ; 
// - chreeio

async function loadJD( keyword ) {
      let options = {
            url: "https://store.logitech.com.cn",
            headers: {
                  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
            }   
      }
      let response = await axios(options);
      
      let $ = cheerio.load( response.data );

      //let price = $(".list-box .p-price-comment strong");
      let img   = $(".sc_container:last-child ul li a img:first-child");
      //let title = $(".p-name a");

      let arr = [];
      for(var i = 0 ; i < 5 ; i ++){
            arr.push( {
                 //price : price.eq(i).text(),
                 src : img.eq(i).attr("src"),
                 //title : title.eq(i).text()
            });
      }

      fs.writeFile(".banner-content.json" , JSON.stringify(arr) , err => {
            if( err ){
                  throw err; 
            }
            console.log( "数据爬取成功" );
      })
}

loadJD("阿米洛");


